#ifndef GXFR_PHYSICS_SCENE_H
#define GXFR_PHYSICS_SCENE_H

#include "Basic/GxLibBasic.h"
#include "PlayerController.h"
class NxPhysicsSDK;
class NxScene;
class NxController;

#include "LibGL/GxMath3D.h"

namespace FinalRendering
{
	namespace Engine
	{
		class Engine;
		namespace Physics
		{
			struct PhysSceneHeader
			{
				int StaticBrushCount;
			};

			class PhysSceneInitializationException
			{};

			class PhysScene : public Object
			{
			private:
				NxPhysicsSDK * phys;
				NxScene * scene;
			public:
				RefPtr<PlayerController> Controller;
				PhysScene(Engine * engine);
				~PhysScene();
				void Step(float dTime);
				void FetchResult();
				void GetCameraPos(vec3 & pos);
				void Load(const String & fileName);

			};
		}
	}
}

#endif